/* 引擎，操作系统，浏览器检测脚本 */

var client = function(){
	var engine = {
		ie:0, 
		gecko:0, 
		webkit:0, 
		khtml:0, 
		opera:0, 
		//具体的版本 
		ver:null 
	};
	var browser = {
		ie:0, 
		firefox:0, 
		konq:0, 
		opera:0, 
		chrome:0,
		safari:0,
		ver:null
	}; 
	var system = {
		 win:false,
		 mac:false, 
		 x11:false, //移动设备 
		 iphone:false, 
		 ipod:false, 
		 android:false,
		 nokiaN:false, 
		 winMobile:false, 
		 macMobile:false, 
		 //游戏设备
		 wii:false, 
		 ps:false
	}; 
	//浏览器对象和平台检测 
	var ua = window.navigator.userAgent; 
	//首先检测 Opear 
	if(window.opera){ 
		engine.ver = browser.ver = window.opera.version(); 
		engine.opera = browser.opera = parseFloat(engine.ver); 
	} 
	//其次检测 Webkit 浏览器，基于版本过多的原因。 
	else if(/AppleWebKit\/(\S+)/.test(ua)){
		engine.ver = RegExp["$1"]; 
		engine.webkit = parseFloat(engine.ver); 
		//确定是 Chrome 
		if(/Chrome\/(\S+)/.test(ua)){ 
			browser.ver = RegExp["$1"]; 
			browser.chrome = parseFloat(browser.ver); 
		} 
		//确定是 Safari 浏览器 
		else if(/Version\/(\S+)/.test(ua)){ 
			browser.ver = RegExp["$1"]; 
			browser.safari = parseFloat(browser.ver); 
		}
		else{
			//进似的确定版本号 
			var safariVersion = 1; 
			if(engine.webkit < 100){ 
				safariVersion = 1; 
			}else if(engine.webkit < 312){ 
				safariVersion = 1.2; 
			}else if(engine.webkit < 412){ 
				safariVersion = 1.3; 
			}else{
				safariVersion = 2; 
			}
			browser.safari = browser.ver = safariVersion; 
		}
	} 
	//检测 KHTML 
	else if(/KHTML\/(\S+)/.test(ua)||/Konqueror\/([^;]+)/.test(ua)){ 
		engine.ver = browser.ver = RegExp["$1"]; 
		engine.khtml = browser.konq = parseFloat(engine.ver); 
	} 
	//检测 Gecko 
	else if(/rv:([^\)]+)\) Gecko\/\d{8}/.test(ua)){
		engine.ver = RegExp["$1"]; 
		engine.gecko = parseFloat(engine.ver);
		//确定是否 FIREFOX 
		if(/Firefox\/(\S+)/.test(ua)){
			browser.ver = RegExp["$1"]; 
			browser.firefox = parseFloat(browser.ver); 
		}
	} 
	//最后一个检测 IE 
	else if(/MSIE ([^;)]+)/.test(ua)){
		engine.ver = browser.ver = RegExp["$1"]; 
		engine.ie = browser.ie = parseFloat(engine.ver);
	} 
	var p = window.navigator.platform; 
	system.win = p.indexOf("Win") == 0; 
	system.mac = p.indexOf("Mac") == 0; 
	system.x11 = (p.indexOf("X11") == 0 || p.indexOf("Linux") == 0); 
	// Windows 版本
	if(system.win){
		if(/Win(?:dows )?([^do]{2})\s?(\d+\.\d+)?/.test(ua)){
			if(RegExp["$1"]=="NT"){
				switch(RegExp["$2"]){
					case "5.0": 
					system.win = "2000";
					break; 
					
					case "5.1": 
					system.win = "XP"; 
					break; 
					
					case "6.0": 
					system.win = "Vista"; 
					break; 
					
					case "6.1": 
					system.win = "Win 7"; 
					break; 
					
					default: system.win = "NT"; break; 
				} 
			} 
			else if(RegExp["$1"] == "9x"){
				system.win = "ME"; 
			}else{
				system.win = RegExp["$1"];
			} 
		}
	};
	//检测是否移动平台 
	system.iphone = ua.indexOf("iPhone") > -1; 
	system.ipod = ua.indexOf("iPod") > -1;
	system.android = ua.indexOf("Android") > -1;
	system.macMobile = (system.iphone || system.ipod); 
	system.nokiaN = ua.indexOf("NokiaN") > -1; 
	system.winMobile = (system.win == "CE"); 
	//检测游戏设备 
	system.wii = ua.indexOf("Wii") > -1; 
	system.ps = /playstation/i.test(ua); 
	//返回检测对象 
	return {
		engine:engine, 
		browser:browser, 
		system:system 
	}
}();